package com.lsh.payment.api.model.dmallpay;

import com.lsh.payment.api.validation.ValidationMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;

/**
 * Project Name: lsh-payment
 * Author: panxudong
 * 北京链商电子商务有限公司
 * Desc: 类功能描述
 * Package Name: com.lsh.payment.api.model.dmallpay
 * Time: 2017-11-15 上午11:21
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DMallNotifyRequestParam implements Serializable {

    /**
     * 同一次请求唯一标示
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private String nonceStr;

    /**
     * 临时购物车ID
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private String cartId;

    /**
     * 三方单号
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private String thirdOrderId;

    /**
     * 多点订单号
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private String orderId;

    /**
     * 支付方式
     */
    private Integer paymentType;

    /**
     * 支付时间
     */
    private String paymentTime;

    /**
     * 订单原始金额,单位分
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private Long originAmount;

    /**
     * 订单实际应收,单位分
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private Long actualAmount;

    /**
     * 订单实际付款金额,单位分
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private Long realPayAmount;

    /**
     * 订单支付方优惠金额,单位分
     */
    @NotBlank(message = ValidationMessage.NOT_BLANK)
    private Long payDiscountAmount;

}
